package cn.galudisu.reactivemanifesto.event

import akka.http.scaladsl.model.Uri

import scala.concurrent.duration.FiniteDuration

sealed trait Panel {
  def status: Int
  def uri: Uri
  def timeout: Option[FiniteDuration]
}

// 固定的几个事件

case class Succ(status: Int,
                uri: Uri,
                timeout: Option[FiniteDuration],
                msg: String*) extends Panel

case class Err(status: Int,
               uri: Uri,
               timeout: Option[FiniteDuration],
               msg: String*) extends Panel

case class Tot(status: Int,
               uri: Uri,
               timeout: Option[FiniteDuration],
               msg: String*) extends Panel

case class Rec(status:Int,
               uri:Uri,
               timeout: Option[FiniteDuration],
               msg:String*) extends Panel
